import dictionariesApi from '@/api/dict'

/**
 * 获取字典
 * @author 朱琦
 * @time 2021年9月15日
 * */

const LOCAK_KEY = 'LARGE_SCREEN_DICT'

/**
 * 获取全部字典
 * @param {*} Vue
 * @returns
 */
export function getAllDict() {
  return dictionariesApi
    .getDict()
    .then(res => {
      sessionStorage.setItem(LOCAK_KEY, JSON.stringify(res.data))
    })
    .catch(error => {
      console.log(error)
    })
}

/**
 * 查询字典
 * @param {String} type  字典类型 只传key返回该字典类型数组
 * @param {String} val   键值 根据键值查询对应的字典值
 * @param {String}  labelKey
 * @returns
 */
export function getDict(dictKey, val, labelKey = 'dictItemdesc') {
  const dictList = JSON.parse(sessionStorage.getItem(LOCAK_KEY)) || {}
  const dict = dictList[dictKey] || []
  if (val !== undefined) {
    const index = dict.findIndex(i => i['dictItemValue'] == val || i['dictItemKey'] == val)
    return dict[index] && dict[index]['dictItemdesc']
  }
  return dict || []
}
